Control of mechanical systems by a computer, in the prior art, is typically based on a model of the mechanical system which relates controller inputs (sensor data) to the controller outputs (variables controlled by the computer). One example of a mechanical system controller is the cruise control apparatus of a car. Here, the controller input variable for the cruise control apparatus is the speed of the car as sensed by a tachometer, a speedometer, or the like. The detected speed of the car, or a representative parameter such as an error signal, is input into the controller computer. Based on whether the car must accelerate or decelerate, the controller computer initiates a control action (controller output variable), such as depressing the gas pedal more to initiate an acceleration of the car.
For prior art, the key to controlling any mechanical system is the accurate modeling of the mechanical system that relates the controller inputs (sensor data) to the appropriate setting of the controller outputs. Models of a mechanical system have been traditionally developed in one of two ways. The first prior art method is to construct the mechanical system model using analytical techniques. This method involves mathematical modeling of all the system parameters and physical parameters. While this method is clearly the dominant prior art modeling method, several significant problems arise. First, the model of the mechanical system is only as good as the data used to construct the model. Thus, if the measurements of the physical dimensions of the mechanical system are not extremely accurate, the model will not be valid. In the world of mass production, this means that parts must be constructed very accurately in order to duplicate the mechanical system upon which the controller model is based upon. A slight difference between one part of the product and the mechanical system model could render the entire controller model invalid for the product in which that part is used. Additionally, if any parameter in the system changes over time, then the model may no longer be valid. Any time a model no longer accurately represents the mechanical system, the controller computer will be incapable of performing as desired.
Another more recent prior art modeling technique for deriving a model of a mechanical system involves the use of neural networks and/or fuzzy logic to construct the relationship between controller inputs and outputs. The appeal of this second approach is that some of the measurement errors that frequently plague the first modeling method can be avoided. The actual construction of the input/output relationship varies slightly between the neural network and the fuzzy logic modeling methods. For neural networks, a training period is required to construct the proper relationship between the input and output variables. This training period can involve a rather lengthy period of time because of the inputting of various levels of system inputs and the recording of the sensor data. After the neural network system performs sufficient tests over the entire range of input and output variables, the computer controller can construct the appropriate mechanical system model.
Developing a controller model of a mechanical system using fuzzy logic requires a person knowledgeable in the mechanical system. The person must construct the fuzzy sets and derive the correct relationships in order for the controller to function properly. The time and cost necessary for such a highly skilled person to develop the necessary fuzzy logic algorithms and computer control code is often prohibitive.
As with the first modeling technique, models based upon either neural networking or fuzzy logic become invalid if any mechanical system parameter should change with time. In such a case, the neural networking and fuzzy logic controllers must be retrained in order to work properly.
As a further illustrative example of a mechanical system, a simple robot is considered in detail. Robotic technology is a fast paced changing art allowing each new generation of robots to perform tasks of ever-increasing difficulty. Some advanced robots employ a dynamic look-and-move method which allows a robot to position its end-effector relative to a target on a workpiece such that the robot can complete a predetermined operation. The robot's end-effector may be a tool, such as a cutter or a gripper, a sensor, or some other device. An end-effector is typically located on the distal end of a robot arm. The workpiece is the object of the robot's predetermined task. A target is a predetermined reference point on or near the workpiece. For example, a robot may have an arm holding a paint sprayer (end-effector) for spray painting (predetermined task) an automobile (workpiece).
If the workpiece is moving, such as when the above-described automobile is travelling down a continuously moving assembly line, the robot's predetermined task becomes considerably more complicated. Tracking of moving targets with cameras is known in the art. However, these prior art control methods are model based and require a precise kinematic model of the robot and the camera system geometry. That is, control algorithms directing movement of the robot members through controlled couplers, such as a joint, screw or the like, must have a detailed model of the relationships of each member of the robot, each coupler of the robot, and the robot's end-effector. Also, the control algorithm requires a precise model of the relationship between the robot, the camera and the workpiece. An algorithm based upon a camera and servo control of the controlled couplers is known as a visual servoing algorithm.
Before the robot can begin its predetermined task, all necessary reference locations must be calibrated. That is, the initial position of the robot's end effector, members and controlled couplers must be determined. Also, the position of the workpiece and the associated target must be determined. All reference locations must be calibrated to the camera position. If any of the above described elements are not in the proper initial position, algorithms must be recalculated or the out-of-position element must be moved into its predetermined location. For example, the workpiece may have to be placed into a jig and the jig positioned at an initial starting position. Also, any movement or relocation of the camera will cause errors because reference locations will not be properly mapped into the visual servoing algorithm.
Development of a model independent approach for robotics control has been considered. The model independent approach describes visual servoing algorithms that are independent of hardware (robot and camera systems) types and configuration of the working system (robot and workpiece). The most thorough treatment of such a method has been performed by Jagersand and described in M. Jagersand, Visual Servoing Using Trust Region Methods and Estimation of the Full Coupled Visual-Motor Jacobian, IASTED Applications of Robotics and Control, 1996, and in M. Jagersand, O. Fuentes, and R. Nelson, Experimental Evaluation of Uncalibrated Visual Servoing for Precision Manipulation, Proceedings of International Conference on Robotics and Automation, 1997. Jagersand formulates the visual servoing problem as a nonlinear least squares problem solved by a quasi-Newton method using Broyden Jacobian estimation. That is, tracking a moving target is a predictive method employing a static based algorithm solving a series of static problems and equations. Jagersand demonstrates the robust properties of this type of control, demonstrating significantly improved repeatability over standard joint control even on an older robot with backlash. However, Jagersand's work focuses on servoing a robot end-effector to a static target. That is, the workpiece is not moving.
Thus, a heretofore unaddressed need exists in the industry to address the aforementioned deficiencies and inadequacies.